package services

import (
	"context"
	"k8sops/pkg/client"
	"log"

	v1 "k8s.io/api/core/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

func GetNodes() (nodeList *v1.NodeList, err error) {
	k := client.K8sClientSet{}
	c, err := k.GetClientset()
	if err != nil {
		log.Fatal(err.Error())
		return
	}

	nodeList, err = c.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{})
	if err != nil {
		log.Fatal(err.Error())
		return
	}

	return
}

// func GetNodes() (nodeList *v1.NodeList, err error) {
// 	err = client.NewClient()
// 	if err != nil {
// 		log.Fatal(err.Error())
// 		return
// 	}
// 	c := client.GetDynamicClient()
// 	gvr := schema.GroupVersionResource{
// 		Group:    "",
// 		Version:  "v1",
// 		Resource: "nodes",
// 	}
// 	unStructData, err := c.Resource(gvr).List(context.TODO(), metav1.ListOptions{})
// 	if err != nil {
// 		log.Fatal(err.Error())
// 		return
// 	}
// 	nodeList = &v1.NodeList{}
// 	err = runtime.DefaultUnstructuredConverter.FromUnstructured(unStructData.UnstructuredContent(), nodeList)
// 	if err != nil {
// 		log.Fatal(err.Error())
// 		return
// 	}
// 	return
// }
